package com.example.zxd;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

/**
 * 小明的记忆游戏<p>
 * 描述：
 * 小明最近被拉去参加了一场记忆游戏，主持人会给小明一些数字，小明需要记住这些数字，然后主持人会问小明某些数字是否出现在这些数字中，小明需要依次回答是或者否。
 *<p>
 * 小明的记性不是很好，所以他想请你帮忙告诉他，某些数字是否出现在之前的数字中。
 *<p>
 * 输入：
 * 第一行一个整数 n
 * ，表示主持人将要给出的数字，题目保证 1≤n≤105
 * 。
 *<p>
 * 第二行 n
 *  个整数 a1,a2,⋯,an
 * ，表示主持人给出的每个数字 a
 * ，题目保证 1≤a≤109
 * 。
 *<p>
 * 第三行一个整数 m
 * ，表示主持人询问的次数，题目保证 1≤m≤105
 * 。
 *<p>
 * 接下来 m
 *  行，每行一个整数 b1,b2,⋯,bn
 * ，表示主持人询问的每个数字 b
 * ，题目保证 1≤b≤109
 * 。
 *<p>
 * 输出：
 * 输出 m
 *  行，每行一个字符串，如果第 i
 *  行的数字 bi
 *  出现在之前的数字中，输出 YES，否则输出 NO，全部大写。
 *<p>
 * 样例输入：<p>
 * 5<p>
 * 1 2 3 4 5<p>
 * 5<p>
 * 1<p>
 * 2<p>
 * 3<p>
 * 3<p>
 * 56<p>
 * 样例输出：<p>
 * YES<p>
 * YES<p>
 * YES<p>
 * YES<p>
 * NO<p>
 * 样例输入：<p>
 * 7<p>
 * 9 52355 3 7 76 223 1<p>
 * 2<p>
 * 23423<p>
 * 3<p>
 * 样例输出：<p>
 * NO<p>
 * YES<p>
 * 注释：<p>
 * 题目保证，对于 20%
 *  的数据，有 m=1
 * 。
 *<p>
 * 题目保证，对于 40%
 *  的数据，有 n=1
 * 。
 *<p>
 * 题目保证，对于 100%
 *  的数据，有 1≤n,m≤105
 * ，1≤a,b≤109
 * 。
 *<p>
 * 请仔细评估提交代码的算法复杂度。
 * @author: scarborough
 * @datetime: 2025/3/19 - 19:27
 * @status: AC
 * <p>注：虽然能AC，时间复杂度在O(m+n)，但是有时还是会TLE，不知道是什么原因，个人觉得是java本身语言特性决定的</p>
 */
public class PROB1021 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < n; i++) {
            set.add(sc.nextInt());
        }
        int m = sc.nextInt();
        for (int i = 0; i < m; i++) {
            int b = sc.nextInt();
            if(set.contains(b)) {
                System.out.println("YES");
            }else {
                System.out.println("NO");
            }
        }
    }
}
